﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace IntegradorMod

{
    public class Arquivo
    {
        #region Atributos
        private string Nome_;
        private string Diretorio_;
        private string Texto_;
        private bool Append_;        
        #endregion Atributos

        #region Propriedades
        public string Nome
        {
            get { return this.Nome_; }
            set { this.Nome_ = value; }
        }
        public string Diretorio
        {
            get { return this.Diretorio_; }
            set { this.Diretorio_ = value; }
        }
        public string Texto
        {
            get { return this.Texto_; }
            set { this.Texto_ = value; }
        }
        public bool Append
        {
            get { return this.Append_; }
            set { this.Append_ = value; }
        }
        #endregion Propriedades

        #region Construtores
        public Arquivo()
        {
            this.Nome_ = "";
            this.Diretorio_ = @"C:\txtproj";
            this.Texto_ = "";
            this.Append_ = true;
        }
        #endregion Construtores

        #region Métodos

        public string CaminhoCompleto()
        {
            string retorno = this.Diretorio_ + "\\" + this.Nome_;
            if (!Directory.Exists(this.Diretorio_))
            {
                Directory.CreateDirectory(this.Diretorio_);
            }
            if (this.Nome_ == "")
                this.Nome_ = "NOME.TXT";
            return retorno;
        }

        public void GravaTexto()
        {
            StreamWriter sw = new StreamWriter(CaminhoCompleto(), this.Append_ );
            try
            {                
                sw.WriteLine(this.Texto_);
            }
            
            finally
            {
                sw.Close();
            }
        }

        public void LeTexto()
        {
            StreamReader sr = new StreamReader(CaminhoCompleto());
            try
            {
                this.Texto_ = "";
                while (!sr.EndOfStream)
                {
                    this.Texto_ += sr.ReadLine()+"\n";
                }
            }

            finally
            {
                sr.Close();
            }
        }

        #endregion Métodos


    }
}
